package com.yiqi.zhiyuan.feature.certification.contract;

import com.suozhang.framework.framework.BasePresenter;
import com.suozhang.framework.framework.BaseView;
import com.yiqi.zhiyuan.entity.dto.DiverCertificationDTO;
import com.yiqi.zhiyuan.entity.vo.CertufucateInfoVO;

import io.reactivex.Observable;

/**
 * @ProjectName: ZhiYuan
 * @Description: java类作用描述
 * @Author: lijuwen
 * @CreateDate: 2019/3/14 10:45
 * @UpdateUser: 更新者
 * @UpdateDate: 2019/3/14 10:45
 * @UpdateRemark: 更新说明
 * @Version: 1.0
 */
public interface CertificationContract {

    interface Model {

        /**
         * 认证上传基本信息
         *
         * @param diverCertificationDTO
         * @return
         */
        Observable<String> doUploadInfo(DiverCertificationDTO diverCertificationDTO);

        /**
         * 查询认证信息
         */

        Observable<CertufucateInfoVO> doQueryAuthInfo();

    }

    interface View extends BaseView {


        /**
         * 认证上传基本信息成功
         */
        void showUploadInfoSuccess(DiverCertificationDTO certificationDTO);

        /**
         * 认证上传基本信息失败
         */
        void showUploadInfoError(String errorMsg);

        /**
         * 查询认证信息
         * */
        void showAuthInfoSuccess(CertufucateInfoVO s);
    }

    interface Presenter extends BasePresenter {


        /**
         * 认证上传基本信息
         *
         * @param realName      真实姓名
         * @param sex           性别
         * @param idCard        身份证号码
         * @param driverLicense 驾驶证号码
         * @param bankCard      银行卡号
         * @param carNo         车牌号
         * @param carName       车辆品牌
         * @param carModelNo    车辆型号
         * @param carColor      车身颜色
         */
        void uploadInfo(
                String realName,
                String sex,
                String idCard,
                String driverLicense,
                String bankCard,
                String carNo,
                String carName,
                String carModelNo,
                String carColor
        );

        void queryAuthInfo();
    }
}
